Colin Walters [Wed, 12 Feb 2014 21:47:39 +0000 (16:47 -0500)]
deploy: Remove now-unimplemented --no-bootloader argument
Daniel Drake [Tue, 11 Feb 2014 22:13:34 +0000 (16:13 -0600)]
boot/ostree-remount.service: run before tmpfiles.d
tmpfiles.d configurations generally require write access to some places
that are read-only until ostree-remount runs.
Make sure ostree-remount has run first.
Thanks to Cosimo Cecchi for finding and diagnosing this problem.
https://bugzilla.gnome.org/show_bug.cgi?id=724183
Colin Walters [Mon, 10 Feb 2014 13:50:59 +0000 (08:50 -0500)]
repo: Split generic GPG commit verification out into helper
This will be used for a future commit which GPG verifies static
deltas.
Colin Walters [Mon, 10 Feb 2014 13:29:00 +0000 (08:29 -0500)]
deltas: Add a timestamp to delta metadata
Colin Walters [Sun, 9 Feb 2014 21:02:14 +0000 (16:02 -0500)]
pull: Remove a duplicate hash table
Not sure why we had two...perhaps the code originally had them
separate.
Colin Walters [Mon, 10 Feb 2014 14:38:07 +0000 (09:38 -0500)]
tests: Fix up GPG tests for more strict EL7 GPG
These GPG tests were failing for me on EL7 - it appears to be because
we had only one directory for both private and public keys, and we
were giving that to ostree for verification, which passed them onto
gpgv.
In EL7 beta at least, gpgv now barfs if it finds a private key where
it is just expecting to find public keys.
Fix this by splitting out the public trusted directory from the
private key directory. Except now for signing, we still need the
public key there, so symlink it. Whee!
Colin Walters [Mon, 10 Feb 2014 14:10:13 +0000 (09:10 -0500)]
repo: Don't set GPG engine executable path
The instructions one finds on the internets are apparently wrong, we
really need to keep the default here, since gpgme uses it to actually
find the helper binary it runs.
This fixes the GPG tests for me on EL7 at least.
Colin Walters [Sun, 9 Feb 2014 19:01:27 +0000 (14:01 -0500)]
Drop refs/summary
I'm not aware of anyone using this, and it's not efficient to write a
whole file every time a ref changes, plus it's not atomic.
Colin Walters [Sun, 9 Feb 2014 18:17:24 +0000 (13:17 -0500)]
sysroot: Add a log with MESSAGE_ID when deployment is complete
Colin Walters [Thu, 6 Feb 2014 08:46:14 +0000 (03:46 -0500)]
pull: Don't crash if the URL is not found
Colin Walters [Thu, 15 Aug 2013 13:17:37 +0000 (09:17 -0400)]
Initial basic static delta code drop
This has a very basic level of functionality (deltas can be generated,
and applied offline). There is only some stubbed out pull code to
fetch them via HTTP.
But, better to commit this now and improve it from a known starting
point, rather than have it languish in a branch.
Colin Walters [Thu, 15 Aug 2013 13:14:26 +0000 (09:14 -0400)]
core: Import bup's "rollsum" code, add a test case
For static deltas, one strategy that will be employed is to split each
object into chunks, and only include changed chunks in the deltas.
Colin Walters [Sun, 2 Feb 2014 16:53:22 +0000 (11:53 -0500)]
build: Drop SELinux required version a bit earlier
Apparently EPEL7 only has 2.1.13, but we should be fine with that.
Colin Walters [Sun, 2 Feb 2014 16:49:43 +0000 (11:49 -0500)]
build: Fix --without-selinux case
Colin Walters [Sun, 2 Feb 2014 16:32:52 +0000 (11:32 -0500)]
SELinux: Ensure we label /var, and fix /etc merge wrt xattrs
First, /var needs to be labeled at least once. We should probably
rearrange things so that /var is only created (and labeled) on the
first deployment, but this patch adds a /var/.ostree-selabeled file
instead.
Second, when doing the /etc merge, we compare the xattrs of the old
/usr/etc versus the current /etc. The problem with that is that the
policy has different labels for /usr/etc on disk than the real /etc.
The correct fix for this is a bit invasive - we have to take the
physical content of the old /usr/etc, but compare the labels as if
they were really in /etc.
Instead for now, just ignore changes to xattrs. If the file
content/mode changes, then we take the new file (including any changed
xattrs).
Bottom line: just doing chcon -t blah_t /etc/foo.conf may be lost on
upgrade (for now).
Colin Walters [Sat, 1 Feb 2014 16:30:10 +0000 (11:30 -0500)]
libostree: Also use xattr callback for directories
They need labels too, obviously.
Colin Walters [Sat, 1 Feb 2014 03:18:13 +0000 (22:18 -0500)]
Add --disable-fsync option to pull-local, and API to repo
This will be used by guestmount - it's WAY faster. We only take disks
as a unit, so it's safe. If the process fails halfway through, we
just start over from scratch the next time anyways.
Colin Walters [Wed, 29 Jan 2014 14:22:16 +0000 (09:22 -0500)]
Add SELinux support
The trees as shipped come with /usr/etc, which should just be labeled
as usr_t. When we do a deployment, we need to relabel the copies of
the files we're making in /etc.
SELinux support is compile and runtime optional.
Colin Walters [Wed, 29 Jan 2014 13:03:45 +0000 (08:03 -0500)]
repo: Add API to provide xattrs
This will be used by rpm-ostree to provide SELinux security contexts,
without requiring us to actually label the disk.
Colin Walters [Fri, 31 Jan 2014 00:32:59 +0000 (19:32 -0500)]
build: Look for /usr/bin/gpgv2 vs /usr/bin/gpgv
For some reason, RHEL has gpgv, but Fedora doesn't. We need to detect
which to use, since presumably Debian only has gpgv.
Colin Walters [Thu, 30 Jan 2014 22:17:36 +0000 (17:17 -0500)]
repo: Improve GPG error messages
The signing test is failing here on EL7 beta for me - it seems like
gnupg isn't honoring the homedir.
Colin Walters [Thu, 30 Jan 2014 20:40:46 +0000 (15:40 -0500)]
libostree: Actually trusted.gpg.d/*.gpg for GPG verification
The intent of this code I'm fairly certain was to use *.gpg from the
trusted.gpg.d, directory. But right now, we're only using
"pubring.gpg" from that directory, which is odd.
Let's fix this to use all keys ending in .gpg, which will also
include pubring.gpg.
Colin Walters [Thu, 30 Jan 2014 20:27:10 +0000 (15:27 -0500)]
build: Install README-gpg in /usr/share/ostree/trusted.gpg.d
Since this is what the current code actually reads.
Colin Walters [Mon, 27 Jan 2014 18:57:18 +0000 (13:57 -0500)]
ostree-prepare-root.service: Also order before plymouth-switch-root.service
In the OSTree model, /sysroot gets set up twice. We need to ensure
that the /sysroot plymouth sees is only after OSTree has set it up.
Colin Walters [Mon, 27 Jan 2014 16:57:35 +0000 (11:57 -0500)]
boot/ostree-remount.service: Run before plymouth-read-write.service
The plymouth service needs a writable /var, so ensure that we run
before it does.
Colin Walters [Mon, 27 Jan 2014 14:10:42 +0000 (09:10 -0500)]
doc: Update manpage a bit
I know, I know, it's about time...
Colin Walters [Fri, 24 Jan 2014 04:26:43 +0000 (04:26 +0000)]
Release 2014.1
Colin Walters [Wed, 22 Jan 2014 15:02:01 +0000 (15:02 +0000)]
pull: Be less chatty with G_MESSAGES_DEBUG=all
Only note state *transitions*, don't spam on simple checks.
Colin Walters [Wed, 22 Jan 2014 11:11:50 +0000 (11:11 +0000)]
TODO: Update
Colin Walters [Tue, 21 Jan 2014 19:53:06 +0000 (19:53 +0000)]
tests: Only install test-corruption if gjs is found
It now uses a gjs-based helper.
Colin Walters [Tue, 21 Jan 2014 08:57:34 +0000 (08:57 +0000)]
pull: Add remotename:ref syntax
This is really the common case.
Colin Walters [Mon, 20 Jan 2014 23:00:09 +0000 (18:00 -0500)]
README: Just link to wiki, move most of it to README-historical.md
Colin Walters [Mon, 20 Jan 2014 17:13:37 +0000 (12:13 -0500)]
repo: Document ostree_repo_sign_commit(), and add introspection data
The important bit for introspection is (allow-none) on the homedir.
Colin Walters [Mon, 20 Jan 2014 11:17:45 +0000 (06:17 -0500)]
pull: Close another race
Only send _IDLE messages if and only if we state transition the main
thread (from idle -> !idle or !idle -> idle). This ensures that we
don't send IDLE, then get it back, and process that when we're !idle.
Colin Walters [Sun, 19 Jan 2014 23:12:44 +0000 (18:12 -0500)]
pull: Hopefully squash race where we would exit early
This is a redesign (again) of the pull code. It is simpler and
survives 20 minutes of testing in a loop, whereas the old code would
only go from 30 seconds to 2 minutes.
The problem with the old code was that there was a race where we might
determine idle state even when there are content requests in flight
between the metadata thread and the main one.
This code majorly reworks things - there's now only one IDLE message,
sent in a circle from the main thread, through the metadata scanner,
and back to the main one.
Crucially it's only sent when the *main* thread is idle. Previously
we were looking at whether the metadata scanner is idle, but that
doesn't make a lot of sense. First let's make sure the main thread is
idle, then verify that the metadata one is.
This closes the loop because we'll have ensured we get any pending
requests.
https://bugzilla.gnome.org/show_bug.cgi?id=706456
Colin Walters [Sun, 19 Jan 2014 17:39:38 +0000 (12:39 -0500)]
tests/pull-corruption: Ensure we corrupt an object to be pulled
This test had some nondeterminism because we chose a random
object to corrupt, but because there were multiple commits, it
was possible that we chose an object that was not being pulled.
Fix this by writing some custom GJS code to find an explicitly random
object that exists in a given ref, an change a random byte offset.
This adds a lot more randomness to the testing too.
Colin Walters [Sun, 19 Jan 2014 18:18:04 +0000 (13:18 -0500)]
libostree: Ensure we set standard::type when querying files
This makes the obvious code to recursively enumerate directories
operate more sanely.
Noticed this while trying to write corrupt-repo-ref.js.
Colin Walters [Sun, 19 Jan 2014 17:39:18 +0000 (12:39 -0500)]
pull: Add a few more g_debug() and assertions
To help track down the race condition better.
Colin Walters [Sun, 19 Jan 2014 16:48:27 +0000 (11:48 -0500)]
tests: Small tweaks to pull corruption test
This one is failing here, I suspect it's the generic pull race
condition, but these fixes should make it slightly more reliable.
Colin Walters [Sun, 19 Jan 2014 16:33:35 +0000 (11:33 -0500)]
Update .gitignore
Colin Walters [Sun, 19 Jan 2014 16:28:30 +0000 (11:28 -0500)]
deploy/main: Unify some bits between admin-switch and admin-upgrade
Colin Walters [Sat, 18 Jan 2014 22:50:22 +0000 (17:50 -0500)]
test-sysroot: Update for API change
Colin Walters [Sat, 18 Jan 2014 22:42:24 +0000 (17:42 -0500)]
admin/switch: New builtin to switch between trees
This is something I want to make easier, as it better showcases the
flexibility of OSTree.
Colin Walters [Sat, 18 Jan 2014 09:53:16 +0000 (04:53 -0500)]
Squash some harmless compiler warnings
None of these AFAICS actually can occur, but let's silence gcc.
Colin Walters [Sat, 18 Jan 2014 09:52:45 +0000 (04:52 -0500)]
libotutil: Fix a possible uninitialized free() in error path
Spotted by gcc.
Colin Walters [Sat, 18 Jan 2014 09:44:54 +0000 (04:44 -0500)]
packaging: Update infrastructure
The Makefile.dist-packaging lives canonically in rpm-ostree/ for now,
it's my latest hack to automate git -> (s)rpm.
Update the spec.in from current Fedora.
Colin Walters [Fri, 17 Jan 2014 15:32:34 +0000 (10:32 -0500)]
commit: Reject non-regular/non-symlinks earlier with better error message
Also avoid _NOT_SUPPORTED as that triggers the --help behavior from
the commandline; just use _FAILED.
https://bugzilla.gnome.org/show_bug.cgi?id=722410
Colin Walters [Thu, 16 Jan 2014 18:04:00 +0000 (13:04 -0500)]
deploy: Rework kernel arguments, add --karg-append to "admin deploy"
The "ordered hash" code was really just for kernel arguments. And it
turns out it needs to be a multihash (for e.g. multiple console=
arguments).
So turn the OstreeOrderedHash into OstreeKernelArgs, and move the bits
to split key=value and such into there.
Now we're not making this public API yet - the public OstreeSysroot
just takes char **kargs. To facilitate code reuse between ostree/ and
libostree/, make it a noinst libtool library. It'll be duplicated in
the binary and library, but that's OK for now. We can investigate
making OstreeKernelArgs public later.
https://bugzilla.gnome.org/show_bug.cgi?id=721136
Colin Walters [Thu, 16 Jan 2014 15:20:47 +0000 (10:20 -0500)]
COPYING: Update to latest FSF with current address
Hooray for rpmlint.
Colin Walters [Wed, 15 Jan 2014 14:48:04 +0000 (09:48 -0500)]
Unify uboot and syslinux test cases
The test-admin-deploy-1 was copied into -uboot at some point. But
really they should be testing exactly the same thing, except for
the bootloader backend.
Unify these tests by extracting a common test core.
Colin Walters [Wed, 15 Jan 2014 14:19:09 +0000 (09:19 -0500)]
Update libgsystem
This has a GsConsole fix.
Colin Walters [Mon, 13 Jan 2014 13:45:56 +0000 (08:45 -0500)]
admin: Add --karg-proc-cmdline argument
When installing a new tree inside an existing OS, this is a convenient
way to include the command line arguments one needs (such as root=).
Colin Walters [Wed, 15 Jan 2014 13:46:05 +0000 (08:46 -0500)]
deploy: Write bootloader config even if just kernel arguments changed
The official way to add bootloader arguments to the current deployment
is to redeploy with --karg. However, doing so tripped up an
optimization made inside the deployment code to just swap the
bootlinks if we're keeping the same "bootcsum".
Change this optimization to look at the pair of (bootcsum, options).
Colin Walters [Sat, 11 Jan 2014 17:02:34 +0000 (10:02 -0700)]
build: Don't use += for ACLOCAL_AMFLAGS
It confuses the autotools.
Colin Walters [Fri, 10 Jan 2014 13:15:54 +0000 (08:15 -0500)]
pull: Ensure we begin a status line
Otherwise if the operation completes before anything happens, we hit
an assertion trying to end a status line when we didn't begin one.
Colin Walters [Wed, 8 Jan 2014 23:29:05 +0000 (18:29 -0500)]
sysroot: Error out on deploy --os=<unknown> which has not been initialized
We should hard require "ostree admin os-init foo" before letting
deployments go there; it's too easy to typo the argument.
Colin Walters [Fri, 3 Jan 2014 16:43:31 +0000 (11:43 -0500)]
Makefile-decls.am: Some minor fixes from hotssh
Colin Walters [Fri, 3 Jan 2014 16:39:27 +0000 (11:39 -0500)]
build: Add Makefile-decls.am
I'll be sharing this across more of my projects.
Colin Walters [Wed, 25 Dec 2013 19:24:49 +0000 (14:24 -0500)]
Remove 'write-refs' builtin
See https://bugzilla.gnome.org/show_bug.cgi?id=705979
This was just a performance hack for gnome-continuous back before it
used libostree via g-i.
Colin Walters [Wed, 25 Dec 2013 19:17:36 +0000 (14:17 -0500)]
ostree/remote-add: Add --no-gpg-verify option
To more conveniently disable GPG verification.
Colin Walters [Mon, 23 Dec 2013 16:40:57 +0000 (11:40 -0500)]
repo: Introspect _sign_commit() and _verify_commit()
We can't use #ifdef in the headers, since then g-ir-scanner won't pick
up the functions (unless we included config.h). Let's instead always
have the symbols, but just set an error if we were built without
support for it, just like how pull works.
Colin Walters [Fri, 20 Dec 2013 22:44:13 +0000 (17:44 -0500)]
prune: Remove redundant 'bytes' in format string
Colin Walters [Wed, 18 Dec 2013 04:00:01 +0000 (23:00 -0500)]
repo: Provide a friendlier error message if no signatures are found
I always forget the key to disable it...
Colin Walters [Mon, 16 Dec 2013 23:24:03 +0000 (18:24 -0500)]
repo-pull: Remove leftover unused %s
Roddy Shuler [Thu, 12 Dec 2013 22:56:19 +0000 (14:56 -0800)]
core: Set mtime of content objects to 0
This is necessary to satisfy tools such as guile and python, which
compare mtimes to determine whether or not source files need to be
compiled.
https://bugzilla.gnome.org/show_bug.cgi?id=720363
Colin Walters [Fri, 29 Nov 2013 04:45:56 +0000 (23:45 -0500)]
TODO: Add a few items
Colin Walters [Fri, 29 Nov 2013 04:45:48 +0000 (23:45 -0500)]
Update libgsystem
Colin Walters [Tue, 19 Nov 2013 00:47:46 +0000 (19:47 -0500)]
Move xattr handling into libgsystem, fix sysroot to handle directory ownership/perms
This large patch moves the core xattr logic down into libgsystem,
which allows the gs_shutil_cp_a() API to copy them. In turn, this
allows us to just use that API instead of rolling our own recursive
copy here.
As noted in the new comment though, one case that we are explicitly
regressing is where the new /etc removes a parent directory that's
needed by a modified file. This seems unlikely for most vendors now,
but let's do that as a separate bug.
https://bugzilla.gnome.org/show_bug.cgi?id=711058
Colin Walters [Fri, 22 Nov 2013 21:42:20 +0000 (16:42 -0500)]
ostree-remount.service: Run before systemd-random-seed.service
It's essential that we've mounted /var read-write in order for
random-seed.service to work.
Colin Walters [Thu, 21 Nov 2013 19:34:47 +0000 (14:34 -0500)]
fetcher: Display incremental download progress
Previously the progress meter would bump in large chunks after we
completed a download. Instead, poll in progress files via fstat() for
their size, and add those to the running total.
Colin Walters [Mon, 4 Nov 2013 02:35:45 +0000 (21:35 -0500)]
Update libgsystem
For https://bugzilla.gnome.org/show_bug.cgi?id=711057
Colin Walters [Sun, 27 Oct 2013 20:41:40 +0000 (16:41 -0400)]
main: Treat default osname more consistently
The libostree already treats passing NULL for osname as "booted
osname, if any". We should do the same inside the tools. The upgrade
builtin had this logic duplicated there; we should be able to safely
remove it.
https://bugzilla.gnome.org/show_bug.cgi?id=710970
Daniel Narvaez [Sun, 27 Oct 2013 18:39:02 +0000 (19:39 +0100)]
Fix crash when deploying with implicit os name
When booted into an ostree you can deploy without passing
an --os option. That was crashing though, because
ot_admin_complete_deploy_one is called with NULL
osname but it was not handling it properly.
https://bugzilla.gnome.org/show_bug.cgi?id=710970
Daniel Narvaez [Sun, 27 Oct 2013 17:20:12 +0000 (18:20 +0100)]
main/remote: Add a show-url operation to the remote command
Useful to get the remote url in scripts.
https://bugzilla.gnome.org/show_bug.cgi?id=710967
Colin Walters [Fri, 25 Oct 2013 00:32:20 +0000 (20:32 -0400)]
libostree: Remove extra : in comment
g-ir-scanner handles this, but it stuck out.
Colin Walters [Thu, 24 Oct 2013 18:37:50 +0000 (14:37 -0400)]
libostree: Squash a compiler warning
Colin Walters [Thu, 24 Oct 2013 18:37:35 +0000 (14:37 -0400)]
libostree: Squash two g-ir-scanner warnings
Daniel Narvaez [Tue, 22 Oct 2013 20:04:32 +0000 (22:04 +0200)]
Add support for mkinitcpio
https://bugzilla.gnome.org/show_bug.cgi?id=710682
Colin Walters [Thu, 24 Oct 2013 13:10:34 +0000 (09:10 -0400)]
Add OstreeAsyncProgress, use it for ostree_repo_pull
Several APIs in libostree were moved there from the commandline code,
and have hardcoded g_print() for progress and notifications. This
isn't useful for people who want to write PackageKit backends, custom
GUIs and the like.
From what I can tell, there isn't really a winning precedent in GLib
for progress notifications.
PackageKit has the model where the source has GObject properties that
change as async ops execute, which isn't bad...but I'd like something
a bit more general where say you can have multiple outstanding async
ops and sensibly track their state.
So, OstreeAsyncProgress is basically a threadsafe property bag with a
change notification signal.
Use this new API to move the GSConsole usage (i.e. g_print()) out from
libostree/ and into ostree/.
Colin Walters [Wed, 23 Oct 2013 19:43:29 +0000 (15:43 -0400)]
Update libgsystem
Just to test the new code.
Jeremy Whiting [Wed, 9 Oct 2013 02:44:39 +0000 (20:44 -0600)]
core: Add size information to commit metadata
Add a --generate-sizes option to commit to add size information to the
commit metadata. This will be used by higher level code which wants
to determine the total size necessary for downloading.
Colin Walters [Tue, 15 Oct 2013 20:20:08 +0000 (16:20 -0400)]
Release 2013.7
Colin Walters [Tue, 15 Oct 2013 20:41:07 +0000 (16:41 -0400)]
repo: Remove set-but-unused variable
The gpgme examples use this, but from what I can tell we don't really
need to because we don't need detailed results; we only care whether
we signed it at all.
Colin Walters [Tue, 15 Oct 2013 20:30:09 +0000 (16:30 -0400)]
trivial: Add missing files to dist
Colin Walters [Tue, 15 Oct 2013 19:26:37 +0000 (15:26 -0400)]
trivial: Don't include config.h in headers
This should be included by each .c file. This fixes using libostree
from a "plain" project without config.h.
Colin Walters [Tue, 15 Oct 2013 18:11:43 +0000 (14:11 -0400)]
sysroot: Handle deleting directories in /etc
We need to use the full shutil_rm_rf() in order to actually delete
complete directories.
Test suite code based on a patch from Sjoerd Simons <sjored@luon.net>
https://bugzilla.gnome.org/show_bug.cgi?id=710097
Colin Walters [Thu, 15 Aug 2013 13:03:21 +0000 (09:03 -0400)]
core: Add code to read/write "varints"
Adapted from Google protobufs. For several cases, we want to support
e.g. file sizes up to guint64, but paying the cost of 8 bytes for each
number is too high.
This will be used for static deltas and sizes metadata.
Colin Walters [Fri, 11 Oct 2013 15:50:15 +0000 (11:50 -0400)]
build: Also make gjs-based tests conditional on introspection support
Since they use imports.gi.OSTree.
Jasper St. Pierre [Wed, 9 Oct 2013 20:17:35 +0000 (16:17 -0400)]
Update libgsystem
Colin Walters [Wed, 9 Oct 2013 16:53:12 +0000 (12:53 -0400)]
libostree: Fix an introspection scanner warning
Colin Walters [Wed, 9 Oct 2013 16:05:56 +0000 (12:05 -0400)]
repo: Tweak traversal API
It's convenient for bindings if we have a version that doesn't mutate
the hash table, because they pass temporary hash tables as input.
Colin Walters [Thu, 3 Oct 2013 22:33:18 +0000 (18:33 -0400)]
tests: Extend test-sysroot.js further
Now covers a lot more of the API.
Colin Walters [Thu, 3 Oct 2013 22:32:41 +0000 (18:32 -0400)]
sysroot: Move ostree_sysroot_origin_new_from_refspec here
Rather than having it live in admin. This is useful for other
consumers like the test suite.
Colin Walters [Thu, 3 Oct 2013 22:31:07 +0000 (18:31 -0400)]
sysroot: Ensure we create /boot/loader.%d/entries even if there are no deployments
Not doing so breaks things, and we should support this.
Colin Walters [Thu, 3 Oct 2013 22:30:07 +0000 (18:30 -0400)]
sysroot: Avoid bad double-free
If a deployment is somehow in the list twice, the hash table will free
the *new* value with g_hash_table_insert which gets all broken. Just
use g_hash_table_replace().
Colin Walters [Thu, 3 Oct 2013 22:29:40 +0000 (18:29 -0400)]
sysroot: Update some annotations
We were double-freeing before.
Colin Walters [Tue, 17 Sep 2013 02:37:00 +0000 (22:37 -0400)]
sysroot: Support more arbitrary deployment changes
This commit changes the sysroot API so that one can create arbitrary
new deployment checkouts, then commit them as one step. This is to
enable things like an automatic bisection tool which say create 50
deployments at once, then when done clean them up.
This also moves some printfs from the library into src/ostree.
Colin Walters [Wed, 2 Oct 2013 23:47:38 +0000 (19:47 -0400)]
tests: Add a simple test-sysroot.js that covers OSTree.Sysroot
This will be more interesting as a test case user of the API.
Colin Walters [Wed, 2 Oct 2013 13:00:10 +0000 (09:00 -0400)]
repo: Only delete temp files older than a day
This is somewhat lame, but to do better we need a reliable
multiprocess synchronization mechanism.
https://bugzilla.gnome.org/show_bug.cgi?id=709115
Colin Walters [Mon, 30 Sep 2013 12:51:25 +0000 (08:51 -0400)]
repo: Enumerate objects using openat() too, make more efficient
This drops several calls to malloc()/g_object_new() per object
enumeration. Just a followup to using openat() and friends in other
places.